package daoImpl;

import java.util.List;

import javax.persistence.EntityManager;

import modelo.Deporte;
import modelo.Pista;
import dao.DAOGeneral;
import dao.IDeporteDAO;

public class DeporteDAOImpl extends DAOGeneral implements IDeporteDAO {

	private EntityManager em;

	public DeporteDAOImpl() {
		em = getEntityManager();
	}

	public void insertar(Deporte dep) {
		em.getTransaction().begin();
		em.persist(dep);
		em.getTransaction().commit();
	}

	public Deporte update(Deporte dep) {
		em.getTransaction().begin();
		Deporte depx = em.find(Deporte.class, dep.getIdDeporte());
		depx.setDesDeporte(dep.getDesDeporte());
		if(dep.getPistas()!=null)
		{
			depx.setPistas(dep.getPistas());
		}
		 em.getTransaction().commit();
		 return em.find(Deporte.class, dep.getIdDeporte());
	}

	public void borrar(Deporte dep) {
		em.remove(dep);

	}
	
	@SuppressWarnings("unchecked")
	public Deporte seleccionarPorId(int id) {
		Deporte daux=em.find(Deporte.class, id);
		List<Pista> aux=em.createNamedQuery("Pista.buscaPistasPorDeporte").setParameter("id", daux.getIdDeporte()).getResultList();
		daux.setPistas(aux);
		return daux;
	}
	
}
